#!/bin/bash

# 构建并启动RuoYi-TDesign项目前端部分的脚本

echo "开始构建 RuoYi-TDesign 前端..."

# 检查Docker是否已安装
if ! command -v docker &> /dev/null; then
    echo "错误: 未检测到 Docker，请先安装 Docker"
    exit 1
fi

# 检查Docker Compose是否已安装
if ! command -v docker-compose &> /dev/null; then
    echo "错误: 未检测到 Docker Compose，请先安装 Docker Compose"
    exit 1
fi

# 停止并删除现有的容器和镜像
echo "清理旧的容器和镜像..."
docker-compose -f docker-compose-frontend-only.yml down 2>/dev/null || true
docker rmi ruoyi/ruoyi-ui:1.4.0 2>/dev/null || true

# 配置Docker镜像加速器（使用阿里云加速器）
echo "配置Docker镜像加速器..."
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.aityp.com",
    "https://pssdo.dqzboy.xyz"
  ]
}
EOF

# 创建必要的目录
echo "创建必要的目录..."
mkdir -p ./logs

# 使用Node.js Docker镜像构建前端 (使用npm镜像加速)
echo "构建前端服务..."
docker run --rm \
  -v "$(pwd)":/app \
  -w /app/ruoyi-ui \
  node:18 \
  sh -c "npm config set registry https://registry.npmmirror.com && npm install && npm run build" || { echo "前端构建失败"; exit 1; }

# 构建前端服务镜像（使用独立配置）
echo "构建 ruoyi-ui 镜像..."
cd ruoyi-ui
docker build -f Dockerfile.standalone -t ruoyi/ruoyi-ui:1.4.0 . || { echo "前端Docker镜像构建失败"; exit 1; }
cd ..

# 启动前端服务（仅启动前端，不启动依赖服务）
echo "启动前端服务..."
docker-compose -f docker-compose-frontend-only.yml up -d

echo "前端构建并启动完成！"
echo "前端服务已启动，可以通过 http://localhost 访问"
echo "查看服务状态: docker-compose -f docker-compose-frontend-only.yml ps"
echo "查看日志: docker-compose -f docker-compose-frontend-only.yml logs -f"
